package com.ruoyi.passenger.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 【请填写功能名称】对象 orderinfo
 * 
 * @author ruoyi
 * @date 2024-07-03
 */

public class Orderinfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单号 */
    @Excel(name = "订单号")
    private Long orderId;

    /** 起始地 */
    @Excel(name = "起始地")
    private String startPlace;

    /** 起点经度 */
    @Excel(name = "起点经度")
    private String startLongitude;

    /** 起点纬度 */
    @Excel(name = "起点纬度")
    private String startLatitude;

    /** 终点 */
    @Excel(name = "终点")
    private String endPlace;

    /** 终点经度 */
    @Excel(name = "终点经度")
    private String endLongitude;

    /** 终点纬度 */
    @Excel(name = "终点纬度")
    private String endLatitude;

    /** 上车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上车时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderStart;

    /** 下车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下车时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderEnd;

    /** 订单公里（千米） */
    @Excel(name = "订单公里", readConverterExp = "千=米")
    private BigDecimal orderKm;

    /** 支付方式 */
    @Excel(name = "支付方式")
    private String payType;

    /** 订单金额 */
    @Excel(name = "订单金额")
    private BigDecimal orderPrice;

    /** 服务时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "服务时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date serverTime;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 司机ID */
    @Excel(name = "司机ID")
    private Long driverId;

    /** 订单状态(
1.乘客已下单司机未接单
2.司机已接单
3.司机等待乘客上车
4.乘客已经上车
5.司机订单结束等待乘客支付
6.乘客已经支付订单结束) */
    @Excel(name = "订单状态( 1.乘客已下单司机未接单2.司机已接单 3.司机等待乘客上车 4.乘客已经上车 5.司机订单结束等待乘客支付 6.乘客已经支付订单结束)")
    private Long statusId;

    /** 使用优惠券ID */
    @Excel(name = "使用优惠券ID")
    private Long couponId;

    private String userName;

    private String weather;


    public void setWeather(String weather)
    {
        this.weather = weather;
    }

    public String getWeather()
    {
        return weather;
    }


    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setStartPlace(String startPlace) 
    {
        this.startPlace = startPlace;
    }

    public String getStartPlace() 
    {
        return startPlace;
    }
    public void setStartLongitude(String startLongitude) 
    {
        this.startLongitude = startLongitude;
    }

    public String getStartLongitude() 
    {
        return startLongitude;
    }
    public void setStartLatitude(String startLatitude) 
    {
        this.startLatitude = startLatitude;
    }

    public String getStartLatitude() 
    {
        return startLatitude;
    }
    public void setEndPlace(String endPlace) 
    {
        this.endPlace = endPlace;
    }

    public String getEndPlace() 
    {
        return endPlace;
    }
    public void setEndLongitude(String endLongitude) 
    {
        this.endLongitude = endLongitude;
    }

    public String getEndLongitude() 
    {
        return endLongitude;
    }
    public void setEndLatitude(String endLatitude) 
    {
        this.endLatitude = endLatitude;
    }

    public String getEndLatitude() 
    {
        return endLatitude;
    }
    public void setOrderStart(Date orderStart) 
    {
        this.orderStart = orderStart;
    }

    public Date getOrderStart() 
    {
        return orderStart;
    }
    public void setOrderEnd(Date orderEnd) 
    {
        this.orderEnd = orderEnd;
    }

    public Date getOrderEnd() 
    {
        return orderEnd;
    }
    public void setOrderKm(BigDecimal orderKm) 
    {
        this.orderKm = orderKm;
    }

    public BigDecimal getOrderKm() 
    {
        return orderKm;
    }
    public void setPayType(String payType) 
    {
        this.payType = payType;
    }

    public String getPayType() 
    {
        return payType;
    }
    public void setOrderPrice(BigDecimal orderPrice) 
    {
        this.orderPrice = orderPrice;
    }

    public BigDecimal getOrderPrice() 
    {
        return orderPrice;
    }
    public void setServerTime(Date serverTime) 
    {
        this.serverTime = serverTime;
    }

    public Date getServerTime() 
    {
        return serverTime;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setDriverId(Long driverId) 
    {
        this.driverId = driverId;
    }

    public Long getDriverId() 
    {
        return driverId;
    }
    public void setStatusId(Long statusId) 
    {
        this.statusId = statusId;
    }

    public Long getStatusId() 
    {
        return statusId;
    }
    public void setCouponId(Long couponId) 
    {
        this.couponId = couponId;
    }

    public Long getCouponId() 
    {
        return couponId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("startPlace", getStartPlace())
            .append("startLongitude", getStartLongitude())
            .append("startLatitude", getStartLatitude())
            .append("endPlace", getEndPlace())
            .append("endLongitude", getEndLongitude())
            .append("endLatitude", getEndLatitude())
            .append("orderStart", getOrderStart())
            .append("orderEnd", getOrderEnd())
            .append("orderKm", getOrderKm())
            .append("payType", getPayType())
            .append("orderPrice", getOrderPrice())
            .append("serverTime", getServerTime())
            .append("payTime", getPayTime())
            .append("userId", getUserId())
            .append("driverId", getDriverId())
            .append("statusId", getStatusId())
            .append("couponId", getCouponId())
            .toString();
    }
}
